package com.wzh.himalaya.interfaces;

import com.wzh.himalaya.base.IBasePresenter;
import com.ximalaya.ting.android.opensdk.player.service.XmPlayListControl;

/**
 * className:IPlayerPresenter
 * Author:WZH
 * Time:2022-04-11
 */
public interface IPlayerPresenter extends IBasePresenter<IPlayerCallBack> {

    /**
     * 播放
     */
    void play();

    /**
     * 暂停
     */
    void pause();

    /**
     * 停止
     */
    void stop();

    /**
     * 上一首
     */
    void playPre();


    /**
     * 下一首
     */
    void playNext();


    /**
     * 切换播放模式
     *
     * @param mode
     */
    void switchPlayMode(XmPlayListControl.PlayMode mode);

    /**
     * 获取播放列表
     */
    void getPlayList();

    /**
     * 根据节目的位置进行播放
     *
     * @param index 节目在列表中的位置
     */
    void playByIndex(int index);

    /**
     * 切换播放进度
     *
     * @param progress
     */
    void seekTo(int progress);

    /**
     * 是否是播放状态
     *
     * @return
     */
    boolean isPlay();


    /**
     * 把播放列表反转
     */
    void reversePlayList();



}